package cn.calin.day05.demo37List;

import java.util.LinkedList;
import java.util.List;

public class Demo02LinkList {
    public static void main(String[] args) {
        show03();
    }
    /*
        移除元素
     */
    private static void show03() {
        //创建LinkedList集合对象
        LinkedList<String> listed=new LinkedList<>();
        //使用add方法添加元素
        listed.add("a");
        listed.add("b");
        listed.add("c");
        System.out.println(listed);

        String first=listed.removeFirst();
        System.out.println("被移除的第一个元素："+first);//a
        String last=listed.removeLast();
        System.out.println("被移除的最后一个元素："+last);//c

    }

    /*
        获取元素
     */
    private static void show02() {
        //创建LinkedList集合对象
        LinkedList<String> listed=new LinkedList<>();
        //使用add方法添加元素
        listed.add("a");
        listed.add("b");
        listed.add("c");

        listed.clear();//清空集合元素获取集合元素会抛出.NoSuchElementException

        //public boolean isEmpty():如果列表不包含元素，则返回true
        if (!listed.isEmpty()){
            String first=listed.getFirst();
            System.out.println(first);//a
            String last=listed.getLast();
            System.out.println(last);//c
        }

    }

    /*
           public void addFirst(E e):将指定元素插入此列表开头
           public void addLast(E e):将指定元素添加到此列表结尾
           public void push(E e):将元素堆入此列表所表示的堆栈，此方法等效于addFirst（E）

     */
    private static void show01() {
        //创建LinkList集合对象
        LinkedList<String> linked=new LinkedList<>();
        //使用add方法往集合中添加元素
        linked.add("a");
        linked.add("b");
        linked.add("c");
        System.out.println(linked);//[a, b, c]


        //public void addFirst(E e);
        //linked.addFirst("www");
        linked.push("www");//等效于addFirst
        System.out.println(linked);//[www, a, b, c]

    }
}
